import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

public class UDPReceiver {

    public static void main(String[] args) {
        DatagramSocket server;
        DatagramPacket packet;
        try {

            server = new DatagramSocket(8900);  // 创建数据的接收端,指定端口号，接收发送方都是该对象

            byte buffer[] = new byte[1024];  // 定义字节缓存

            packet = new DatagramPacket(buffer,buffer.length);  // 数据报对象，用于封装UDP传输中断数据

            System.out.println("等待接收数据");

            while (true){
                server.receive(packet);  // 等待接收数据，若始终没有接收到数据，将处于阻塞状态
                //packet.getData();      // 传输的时候是byte[],返回的也应该是byte[]，调用getData方法获得接收的信息
                String string = new String(packet.getData(),0,packet.getLength());  // 转换为字符串
                System.out.println("Message:"+string);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
